home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / MAC / THINKC / TCL1 / CPOPUPME / CPOPUPME.H < prev    next >
Text File  |  1989-08-20  |  2KB  |  73 lines

  1. #define _H_CPopupMenu
  2. #include "CPane.h"
  3. #include "defs.h"
  4.  
  5. typedef enum tPMSelectAction    /* modifier passed to SelectItem & SelectItemName */
  6. {
  7.     pmToggle,        /* toggle the item (multiSelect only) */
  8.     pmForceOff,        /* uncheck item (multiSelect only */
  9.     pmForceOn        /* check item - only allowed option for single selection menus */
  10. } tPMSelectAction;
  11.  
  12. struct CPopupMenu : CPane
  13. {
  14.     /* instance variables */
  15.     
  16.     MenuHandle    itsMenu;        /* handle to menu */
  17.     Boolean        autoSelect;        /* automatically check items if TRUE */
  18.     Boolean        multiSelect;    /* allow multiple checked items if TRUE */
  19.     Boolean        enabled;        /* if FALSE, draw grayed out and disable clicks */
  20.     Boolean        useWinFont;        /* if TRUE ise window's font, else use system font */
  21.     Boolean        isCommandMenu;    /* issues commands if TRUE */
  22.     Int16        firstSelection;    /* first selected menu item number */
  23.     
  24.     /* public methods */
  25.     
  26.     virtual void IPopupMenu( Int16 menuID, CView *anEnclosure, CBureaucrat *aSupervisor,
  27.                     Int16 aWidth, Int16 aHeight, Int16 aHEncl, Int16 aVEncl,
  28.                     Int16 isCommandMenu);
  29.     virtual void IViewTemp(CView *anEnclosure, CBureaucrat *aSupervisor,
  30.                     Ptr viewData);
  31.     virtual void IPopupMenuX( Int16 menuID);
  32.         
  33.     virtual void Draw(Rect *area);
  34.     virtual void DrawSelectedItems( Rect *itemRect, FontInfo *fInfo);
  35.     virtual void DoClick(Point hitPt, Int16 modifierKeys, Int32 when);
  36.     virtual void SelectItem( Int16 itemNum,tPMSelectAction actionType);
  37.     virtual    void SelectItemName( StringPtr name, tPMSelectAction actionType);
  38.     virtual void UncheckAllItems( void);
  39.     virtual Boolean ItemIsChecked(Int16 item);
  40.     virtual Int16 GetCheckedItem( void);
  41.     virtual void AppendItem( StringPtr newItem);
  42.     virtual void InsertItem(StringPtr string, Int16 afterItem);
  43.     virtual    void DeleteItem( Int16 itemNum);
  44.     virtual void DeleteAllItems( void);
  45.     virtual void SetItemString( Int16 item, StringPtr string);
  46.     virtual void SetCurrItemString( StringPtr string);
  47.     virtual void GetItemString( Int16 item, StringPtr string);
  48.     virtual void GetCurrItemString( StringPtr string);
  49.     virtual void SetAutoSelect( Int16 selectFlag);
  50.     virtual void SetEnable( Int16 enableFlag);
  51.     virtual Boolean GetEnable( void);
  52.     
  53.     virtual void Dispose( void);
  54.     
  55.     /* private methods */
  56.     
  57.     virtual void CheckMenuItem( Int16 item, Int16 checkFlag);
  58.  
  59.  
  60. };
  61.  
  62.  
  63. typedef struct
  64. {
  65.     PaneTemp    paneTmp;
  66.     Int16        useWinFont;
  67.     Int16        autoSelect;
  68.     Int16        multiSelect;
  69.     Int16        isCommandMenu;
  70.     Int16        menuID;
  71.     
  72. }    tPopupTemp, *tPopupTempPtr;
  73.